Skip to content

Conversation

@mcbarton
Copy link
Collaborator

@mcbarton mcbarton commented Oct 29, 2025

Description

Please include a summary of changes, motivation and context for this PR.

If you build roots llvm 20 against cling master with the changes in root-project/root#20231, then you can cross compile a CppInterOp which makes use of cling to wasm using Emscripten. CppInterOps Emscripten tests can build, but the tests fail immediately due to a popen error here in cling https://github.com/root-project/cling/blob/903295516f19014a0097bfd516cb23295ef1a404/lib/Interpreter/CIFactory.cpp#L160

Fixes # (issue)

Type of change

Please tick all options which are relevant.

  • Bug fix
  • New feature
  • Requires documentation updates

Testing

Please describe the test(s) that you added and ran to verify your changes.

Checklist

  • I have read the contribution guide recently

@codecov
Copy link

codecov bot commented Oct 29, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 79.39%. Comparing base (5f25366) to head (e2b68c7).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #739      +/-   ##
==========================================
- Coverage   79.83%   79.39%   -0.45%     
==========================================
  Files           9        9              
  Lines        3963     3780     -183     
==========================================
- Hits         3164     3001     -163     
+ Misses        799      779      -20     

see 8 files with indirect coverage changes
see 8 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Vipul-Cariappa
Copy link
Collaborator

Vipul-Cariappa commented Nov 3, 2025

I don't think we should support a cling based emscripten build. We will unnecessarily be increasing our maintenance workload. Also, ROOT themselves are trying to move many LLVM patches upstream. And Cling is not actively developed like clang-repl.

cc @vgvassilev @anutosh491

@anutosh491
Copy link
Collaborator

+1

I don't see a good reason behind doing this.

P.S: In my PyData Paris last month, I just educated people to move away from xeus-cling and use xeus-cpp because of how actively it is being developed and people can raise bugs and get them addressed. So I don't think I would be someone contributing to any effort or maintainance if this goes in :\

@Vipul-Cariappa
Copy link
Collaborator

I had a discussion with Vassil about this. And Vassil pointed out some reasons to try and pursue this. Mainly, this can potentially enable running the ROOT tutorials within the browser. I agree with this reasoning. @mcbarton, I guess you can continue efforts to enable this. But let's explicitly specify that this is experimental. And work on this should not block anything else.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants